package net.hn.hnms.sys.orgnization.api.dispatcher;

import net.hn.hnms.sys.orgnization.api.constant.UserTypeEnum;

/**
 * @author adam
 * @date 2021-02-27
 */
public interface OrganizationDispatcher {



    /**
     * 分发， 根据登录用户获取userType
     * @param orgId 组织ID
     * @param handler handler
     * @param <T> 返回值类型
     * @return T
     */
    <T> T dispatcher(String orgId, DispatcherHandler<T> handler);

    /**
     * 分发  指定userType
     * @param orgId
     * @param userType
     * @param handler
     * @param <T>
     * @return
     */
    <T> T dispatcher(String orgId, UserTypeEnum userType, DispatcherHandler<T> handler);

}
